package com.honour.service.interfaced.impl;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.honour.service.interfaced.ShippingInManager;
import com.system.dao.DaoSupport;
import com.system.util.PageData;

/**
 @Function
 @Author 于泓磊
 @Date   2017年10月21日
*/
@Service("shipinService")
public class ShippingInService implements ShippingInManager {
	
	@Resource(name = "daoSupport")
	private DaoSupport dao;

	
	
	/**
	 * 根据商品id获取具体商品详情
	 */
	@Override
	public PageData getShipDetailsById(PageData pd) throws Exception {
		return (PageData) dao.findForObject("ProductInMapper.findById", pd);
	}

	
	/**
	 * 获取所有商品列表
	 */
	@SuppressWarnings("unchecked")
	@Override
	public List<PageData> getShipList(PageData pd) throws Exception {
		return (List<PageData>) dao.findForList("ProductInMapper.listAll", pd);
	}

	
	/**
	 * 获取带查询条件的商品列表
	 */
	@SuppressWarnings("unchecked")
	@Override
	public List<PageData> getScreenShipList(PageData pd) throws Exception {
		return (List<PageData>) dao.findForList("ProductInMapper.datalistPage", pd);
	}


	/**
	 * 获得对应的商品品牌列表（品牌推荐，名物下属品牌图标列表）
	 */
	@SuppressWarnings("unchecked")
	@Override
	public List<PageData> getBrandIconList(PageData pd) throws Exception {
		return (List<PageData>) dao.findForList("ProductInMapper.brandIconList", pd);
	}


	/**
	 * 获得商品类别列表
	 */
	@SuppressWarnings("unchecked")
	@Override
	public List<PageData> getBrandList(PageData pd) throws Exception {
		return (List<PageData>) dao.findForList("ProductInMapper.brandList", pd);
	}


	/**
	 * 尊购首页各种专区点击后返回的商品列表
	 */
	@SuppressWarnings("unchecked")
	@Override
	public List<PageData> getPrefecture(PageData pd) throws Exception {
		return (List<PageData>) dao.findForList("ProductInMapper.prefectureList", pd);
	}


	/**
	 * 尊购首页模糊查询
	 */
	@SuppressWarnings("unchecked")
	@Override
	public List<PageData> shipDimQuery(PageData pd) throws Exception {
		return (List<PageData>) dao.findForList("ProductInMapper.shipdimQuery", pd);
	}


	/**
	 * 炫购收藏列表
	 */
	@SuppressWarnings("unchecked")
	@Override
	public List<PageData> shipCollectList(PageData pd) throws Exception {
		return (List<PageData>) dao.findForList("ProductInMapper.shipColList", pd);
	}


	/**
	 * 添加商品到炫购收藏
	 */
	@Override
	public void shipCollectAdd(PageData pd) throws Exception {
		dao.save("ProductInMapper.shipColAdd", pd);
	}


	/**
	 * 从炫购收藏删除商品
	 */
	@Override
	public void shipCollectDel(PageData pd) throws Exception {
		dao.delete("ProductInMapper.shipColDel", pd);
	}
	
	
	/**
	 * 根据上架状态获取轮播图
	 */
	@Override
	public PageData findCarouselByStatus(PageData pd) throws Exception {
		return (PageData) dao.findForObject("CarouselFigureInMapper.findCarouselByStatus", pd);
	}


	/**
	 * 添加用户评价
	 */
	@Override
	public void addProductEva(PageData pd) throws Exception {
		dao.save("ProductInMapper.sProductEvaAdd", pd);
	}


	/**
	 * 获得商品的的综合评价
	 */
	@Override
	public double getProductEvaMean(PageData pd) throws Exception {
		return (double) dao.findForObject("ProductInMapper.sProductEvaMean", pd);
	}


	/**
	 * 获得商品的评价列表
	 */
	@SuppressWarnings("unchecked")
	@Override
	public List<PageData> getProductEvaList(PageData pd) throws Exception {
		return (List<PageData>) dao.findForList("ProductInMapper.getProductEvaList", pd);

	}


	/**
	 * 修改商品的的评价数量
	 */
	@Override
	public void updProEvaCount(PageData pd) throws Exception {
		dao.update("ProductInMapper.updProEvaCount", pd);
	}


	/**
	 * 根据商品ID查询商品详情
	 */
	@SuppressWarnings("unchecked")
	@Override
	public List<PageData> getProDetailById(PageData pd) throws Exception {
		return (List<PageData>) dao.findForList("ProductInMapper.getProDetailById", pd);
	}


	/**
	 * 获取商家列表
	 */
	@SuppressWarnings("unchecked")
	@Override
	public List<PageData> getBusinessList(PageData pd) throws Exception {
		return (List<PageData>) dao.findForList("BusinessInMapper.getBusinessList", pd);
	}


	/**
	 * 显示首页→尊购的图
	 */
	@SuppressWarnings("unchecked")
	@Override
	public List<PageData> getSearchProductsByParentId(PageData pd) throws Exception {
		return (List<PageData>) dao.findForList("SearchInMapper.getSearchProductsByParentId", pd);
	}


	/**
	 * 后台添加分类(品牌)
	 */
	@Override
	public void addBrandOrCate(PageData pd) throws Exception {
		dao.save("ProductInMapper.addBrandOrCate", pd);
	}


	
	
	
	
	
}
